package pcb.models.vo 
{
	/**
	 * A Lesson can normally be organised into parts (intro, main, conclusion, etc)
	 * An ILessonPart describes all the common behaviours associated with
	 * LessonParts.  
	 * @author Fintan Boyle
	 */
	public interface ILessonPart 
	{
		//describes the authored composition of the ILessonPart slides
		//example:external_swf_set, single_swf_frame_sequence, nested_islide_sequence (possibly??)
		function getCompositionType():String;
		function setCompositionType(type:String):void;
		
		function getSlideById(id:String):ISlide;
		function addSlide(id:String, slide:ISlide):void;
		
		//LessonParts can have a start page of its own (optional)
		//that is taken into account when navigating with prev and next buttons
		function hasStartPage():Boolean;
		function setHasStartPage(boo:Boolean):void;
		
		//LessonParts can have an end page of its own (optional)
		//that is taken into account when navigating with prev and next buttons
		function hasEndPage():Boolean;
		function setHasEndPage(boo:Boolean):void;
		
		function getStartPage():IPage;
		function setStartPage(page:IPage):void;
		
		function getEndPage():IPage;
		function setEndPage(page:IPage):void;
		
	}
}